Step1 -> Define the product
What is Fleeter?
Fleeter serves as a pivotal solution in the construction and mining industry by offering a comprehensive B2B marketplace for heavy equipment rentals. Our platform plays a dual role, benefitting both equipment owners and businesses seeking rentals. For equipment owners, Fleeter provides an efficient avenue to showcase their inventory and connect with potential renters, thereby increasing the utilization rate of their assets. On the other hand, for businesses in need of equipment, Fleeter simplifies the procurement process by offering a wide range of options in one centralized platform. This streamlines the rental process, enabling businesses to quickly and easily find the equipment they require for their projects. Ultimately, Fleeter’s overarching goal is to optimise the utilisation of heavy equipment assets while simultaneously facilitating seamless transactions and rental experiences for all stakeholders involved in the construction and mining sectors.
​
Components of Fleeter
There are three components to the Fleeter ecosystem, for the sake of this craft, we will only look in the Fleeter partners side of the solution.
- Landing page - explaining the outline of the various solutions offered and how it is going to make the lives of all the parties involved hassle-free.
- Fleeter partners - Fleeter partners is for equipment owners who want to rent their equipment
- User module
- Sign up using specific documents like Aadhar, GST etc.
- Sign in
- List equipment
- ability to list equipment based on the variant, make & model and upload documents/pictures related to vehicles
- ability to modify equipment details.
- Driver onboarding
- ability to onboard all the drivers associated with the firm
- ability to modify driver details.
- Order management
- receive order request
- accept/reject order request
- assign equipment and drivers to the order request
- view ongoing, upcoming and completed orders
- receive E-way bill for upcoming orders(required for transportation of equipment)
- coordination with freight/flatbed carries in case of specialised equipment logistics
- equipment tracking
- ability to track the equipment in real-time( at least till the vehicle reaches back to yard)
- notify when equipment goes out of the working site.
- Equipment health monitoring
- ability to see the Realtime health of the equipment based on equipment-specific parameters.
- preempt equipment maintenance and provide advanced analytics on per equipment or at an equipment type level.
- Payments
- ability to receive timely payouts
- ability to pay for the GPS module
- support
- capability for registering for support.
- Call or email or WhatsApp.
- Profile
- ability to view and edit the profile details.
- ability to update bank details and also validate it.
Step 2 -> Decode the tech layer
​
- Landing page
- since SEO is key for the landing page, the tech stack also must be very SEO-friendly.
- front end - NextJS
- usage of backlinks to the landing page
- usage of robots.txt, meta tags and OG tags
- Back-end
- ability to process form data from the front end for the top of the funnel.
- store form data in
- CMS - Sanity
- a CMS is required as this allows to update the contents of the page without the intervention of the tech team and re-deployment is not required each time.
- Fleeter partners
- Front end - ReactJS
- starting with reactJS and later switching to NextJS for SEO.
- ability to view and trigger actions on the data from the data and backend.
- perform client-side logic like form data validations, set JWT tokens etc
- integrations - posthog or Google Analytics for product analytics.
- Back-end - NodeJS and ExpressJS
- for now, a monolith, later will iterate to a microservice architecture as the user base grows.
- Internal API to perform data operations and will follow REST format
- authenticate user
- fetch and retrieve data from the DB. (GET)
- write and update data to the DB. (POST and PUT)
- Delete data from the DB (it'll be a soft delete, hence it's PUT).
- caching frequently fetched details like equipment / driver details
- trigger third-party API like Razorpay payments functions (Axios library to make rest api calls)
- use of 3rd party ticketing systems like Freshdesk for registering and processing support tickets
- Data layer - MySQL, amazon S3
- Mysql is used as the integrity of the data is required
- amazon S3 is used for storing images.
- Devops
- The entire infrastructure is using on-demand computing(amazon EC2)
- for the CI/CD Jenkins is used.
- automated testing
- compiling the source code to a runnable format
- constructing the docker image
- deploying it as a container.
- Mobile
- since the TG is primarily web-heavy users and the mobile is used for basic functionalities like order tracking, a hybrid app or PWA would be sufficient
- For our use case hybrid app framework like capacitorJS would suffice.
​
Step3 -> Detail out nuances and trade-offs
- Are there any user experience tradeoffs your product has for better security or scalability?
- since it is a B2B solution security and scalability are of prime importance
- Are there any components you went with third party vs in house?
- Product analytics
- Payment modules
- Ticketing modules for support.
- How did your engineers decide what to cache and what not to?
- frequently retrieved static data are cached, like equipment and driver details
- If you are using GraphQL, why? If you are using Rest, why?
- Rest is preferred as it is an internal API and easy to implement.
- What are some limitations of your current tech stack? What are some unique benefits that it offers to your business?
- since it's a monolith if one of service fails, this brings down the entire system. But for version one this will give us a faster GTM and gives us valuable insights for re-iterating the for version two.
​